package PTA.javaB;

// 其中equals()是大家常用的字符串比较方法，它在使用时严格规定两个字符串之间的大小写，
//
//  当字母的大小写或者字母不同时都是返回false.
//
//  equalsIgnoreCase()在使用时不区分左右两边字符串的大小写，
//
//  只关注字符串本身的字母是否相等。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class ex09 {
    public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
String line = sc.nextLine();
String a[] = line.split("-");//把字符串分割开来
        //获取n,将字符串第一个字符转化为 int 整形数据
        int n = Integer.parseInt(a[0]);

        for(int i=0;i<n;i++) {
            String people = sc.nextLine();//输入人员信息
            String b[] = people.split("-");//分割
            if (b[0].equals(a[1])) {
                list1.add(people);//将所有姓为x的字符串放入数组列表list1中
                if (b[1].equalsIgnoreCase(a[2])) {
                    list2.add(people);//进一步的将list1中的名字为y(忽略大小写)的字符串取出放入list2中

                }
            }
        }
            System.out.println(list1);
            System.out.println(list2);
//对list2的字符串按成绩进行降序排序并输出
            //创建数组 存入成绩
            int grade[]=new int[list2.size()];
            //获取成绩
            for(int j=0;j< list2.size();j++){
                String c[] =list2.get(j).split("-");
                grade[j]=Integer.parseInt(c[2]);
            }
            //选择排序
            for(int k=0;k<list2.size();k++){
                for(int j=k+1;j<list2.size();j++){
                    if (grade[k] < grade[j]) {
                        Collections.swap(list2, k, j);
                        int temp=grade[k];
                        grade[k]=grade[j];
                        grade[j]=temp;
                    }
                }
            }   System.out.println(list2);

    }
}